package com.cn.jinl.api;

import com.cn.jinl.domain.Agv;
import com.cn.jinl.domain.GradeValue;
import com.cn.jinl.domain.PlanManage;
import com.cn.jinl.domain.PlanOrder;
import com.cn.jinl.utils.QueryForm;

import java.util.List;
import java.util.Map;

public interface IPlanManageService {

    List<PlanManage> getPlanManageList(QueryForm queryForm)throws Exception;


    Map<String,List<PlanManage> > getPlanManageMapList()throws Exception;

    PlanManage getPlanManageById(String planId)throws Exception;

    PlanManage getPlanByOrderId(String orderId)throws Exception;

    List<PlanOrder> getPlanOrders(String planId)throws Exception;

    List<PlanManage> getUPlanManages(QueryForm queryForm)throws Exception;

    String addBatchPlanManage(List<PlanManage> planManages)throws Exception;

    String addPlanManage(PlanManage planManage)throws Exception;

    String updatePlanManage(PlanManage planManage)throws Exception;

    List<String> getOrderIdsBtPlanIds(List<String> planIds)throws Exception;

    //更新计划状态
    String updatePlanManageStatus(List<String> ids,String status)throws Exception;
    String updatePlanManageStatus(String id,String status)throws Exception;
    String updatePlanManageTaskCount(String planId,double addCount,String planStatus)throws Exception;


    //成型启检任务选择
    List<PlanManage> getSelectPlanManages(String type)throws Exception;

    String updateCompletePlanManage(String planId)throws Exception;


    Map<String,String> getFirstPlanManageInfo()throws Exception;

    String callAgv( String taskCode,String point)throws Exception;

    String continueAgv(String taskCode)throws Exception;

    String agvCallback(String method, String taskCode)throws Exception;

    Agv getAgvPoint()throws Exception;


    String addAgv(String jsonStr)throws Exception;

    String updateAgv(String jsonStr)throws Exception;

    Map<String, String> getPlanAnalysisList(QueryForm queryForm)throws Exception;

    List<GradeValue> getGradeValueByName(QueryForm queryForm)throws Exception;
}
